package com.qianli.cashmama.trade.integration.pay.dto;

import com.fqgj.xjd.user.client.request.UserEmergencyContact;
import com.qianli.cashmama.trade.common.enums.TradeBorrowDurationEnum;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * Created with IntelliJ IDEA.
 * User: sm
 * Date: 2017/7/24
 * Time: 上午9:24
 */
public class TradePayDto implements Serializable {
    private Long tradeId;
    private String bizNo;
    private String tradeNo;
    private String userCode;
    private BigDecimal borrowCapital;

    private BigDecimal receivedCapital;
    private String bankNo;
    private String bankType;
    private String bankName;

    private String signMobile;
    private String identityNo;
    private String userName;
    private int bindType;

    private String userCity;
    private String userProvince;
    private String userAddress;
    private UserEmergencyContact userEmergencyContact;

    private String companyName;
    private String marriageStatus;
    private String zmScore;
    private String idFrontUrl;

    private String idBackUrl;
    private String livePicUrl;

    private String productCode;
    /**
     * 借款利率
     */
    private BigDecimal borrowRatio;
    /**
     * 总服务费
     */
    private BigDecimal totalServiceFee;
    /**
     * 当前交易合同地址
     */
    private String contractUrl;

    private Date signDate;
    /**
     * 信审反馈时间
     */
    private Date auditDate;
    /**
     * digio documentId
     */
    private String documentId;
    private String email;

    /**
     * 资金方
     */
    private Integer capitalCode;

    public Date getSignDate() {
        return signDate;
    }

    public TradePayDto setSignDate(Date signDate) {
        this.signDate = signDate;
        return this;
    }

    public String getDocumentId() {
        return documentId;
    }

    public TradePayDto setDocumentId(String documentId) {
        this.documentId = documentId;
        return this;
    }

    public String getContractUrl() {
        return contractUrl;
    }

    public TradePayDto setContractUrl(String contractUrl) {
        this.contractUrl = contractUrl;
        return this;
    }

    public BigDecimal getTotalServiceFee() {
        return totalServiceFee;
    }

    public TradePayDto setTotalServiceFee(BigDecimal totalServiceFee) {
        this.totalServiceFee = totalServiceFee;
        return this;
    }

    public BigDecimal getBorrowRatio() {
        return borrowRatio;
    }

    public TradePayDto setBorrowRatio(BigDecimal borrowRatio) {
        this.borrowRatio = borrowRatio;
        return this;
    }

    public String getTradeNo() {
        return tradeNo;
    }

    public TradePayDto setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
        return this;
    }

    public String getProductCode() {
        return productCode;
    }

    public TradePayDto setProductCode(String productCode) {
        this.productCode = productCode;
        return this;
    }

    public UserEmergencyContact getUserEmergencyContact() {
        return userEmergencyContact;
    }

    public TradePayDto setUserEmergencyContact(UserEmergencyContact userEmergencyContact) {
        this.userEmergencyContact = userEmergencyContact;
        return this;
    }

    public String getUserCity() {
        return userCity;
    }

    public TradePayDto setUserCity(String userCity) {
        this.userCity = userCity;
        return this;
    }

    public String getUserProvince() {
        return userProvince;
    }

    public TradePayDto setUserProvince(String userProvince) {
        this.userProvince = userProvince;
        return this;
    }

    public String getUserAddress() {
        return userAddress;
    }

    public TradePayDto setUserAddress(String userAddress) {
        this.userAddress = userAddress;
        return this;
    }


    public String getCompanyName() {
        return companyName;
    }

    public TradePayDto setCompanyName(String companyName) {
        this.companyName = companyName;
        return this;
    }

    public String getMarriageStatus() {
        return marriageStatus;
    }

    public TradePayDto setMarriageStatus(String marriageStatus) {
        this.marriageStatus = marriageStatus;
        return this;
    }

    public String getZmScore() {
        return zmScore;
    }

    public TradePayDto setZmScore(String zmScore) {
        this.zmScore = zmScore;
        return this;
    }

    public String getIdFrontUrl() {
        return idFrontUrl;
    }

    public TradePayDto setIdFrontUrl(String idFrontUrl) {
        this.idFrontUrl = idFrontUrl;
        return this;
    }

    public String getIdBackUrl() {
        return idBackUrl;
    }

    public TradePayDto setIdBackUrl(String idBackUrl) {
        this.idBackUrl = idBackUrl;
        return this;
    }

    public String getLivePicUrl() {
        return livePicUrl;
    }

    public TradePayDto setLivePicUrl(String livePicUrl) {
        this.livePicUrl = livePicUrl;
        return this;
    }

    private TradeBorrowDurationEnum borrowDurationEnum;

    private int totalPeriod;

    private int periodLength;


    public Long getTradeId() {
        return tradeId;
    }

    public TradePayDto setTradeId(Long tradeId) {
        this.tradeId = tradeId;
        return this;
    }

    public int getPeriodLength() {
        return periodLength;
    }

    public TradePayDto setPeriodLength(int periodLength) {
        this.periodLength = periodLength;
        return this;
    }

    public TradeBorrowDurationEnum getBorrowDurationEnum() {
        return borrowDurationEnum;
    }

    public TradePayDto setBorrowDurationEnum(TradeBorrowDurationEnum borrowDurationEnum) {
        this.borrowDurationEnum = borrowDurationEnum;
        return this;
    }

    public int getTotalPeriod() {
        return totalPeriod;
    }

    public TradePayDto setTotalPeriod(int totalPeriod) {
        this.totalPeriod = totalPeriod;
        return this;
    }

    public String getBizNo() {
        return bizNo;
    }

    public TradePayDto setBizNo(String bizNo) {
        this.bizNo = bizNo;
        return this;
    }

    public String getUserCode() {
        return userCode;
    }

    public TradePayDto setUserCode(String userCode) {
        this.userCode = userCode;
        return this;
    }

    public BigDecimal getBorrowCapital() {
        return borrowCapital;
    }

    public TradePayDto setBorrowCapital(BigDecimal borrowCapital) {
        this.borrowCapital = borrowCapital;
        return this;
    }

    public BigDecimal getReceivedCapital() {
        return receivedCapital;
    }

    public TradePayDto setReceivedCapital(BigDecimal receivedCapital) {
        this.receivedCapital = receivedCapital;
        return this;
    }

    public String getBankNo() {
        return bankNo;
    }

    public TradePayDto setBankNo(String bankNo) {
        this.bankNo = bankNo;
        return this;
    }

    public String getBankType() {
        return bankType;
    }

    public TradePayDto setBankType(String bankType) {
        this.bankType = bankType;
        return this;
    }

    public String getBankName() {
        return bankName;
    }

    public TradePayDto setBankName(String bankName) {
        this.bankName = bankName;
        return this;
    }

    public String getSignMobile() {
        return signMobile;
    }

    public TradePayDto setSignMobile(String signMobile) {
        this.signMobile = signMobile;
        return this;
    }

    public String getIdentityNo() {
        return identityNo;
    }

    public TradePayDto setIdentityNo(String identityNo) {
        this.identityNo = identityNo;
        return this;
    }

    public String getUserName() {
        return userName;
    }

    public TradePayDto setUserName(String userName) {
        this.userName = userName;
        return this;
    }

    public int getBindType() {
        return bindType;
    }

    public TradePayDto setBindType(int bindType) {
        this.bindType = bindType;
        return this;
    }

    public Date getAuditDate() {
        return auditDate;
    }

    public TradePayDto setAuditDate(Date auditDate) {
        this.auditDate = auditDate;
        return this;
    }

    public String getEmail() {
        return email;
    }

    public TradePayDto setEmail(String email) {
        this.email = email;
        return this;
    }

    public Integer getCapitalCode() {
        return capitalCode;
    }

    public TradePayDto setCapitalCode(Integer capitalCode) {
        this.capitalCode = capitalCode;
        return this;
    }
}
